import { defineStore } from 'pinia'

// 你可以任意命名 `defineStore()` 的返回值，但最好使用 store 的名字，同时以 `use` 开头且以 `Store` 结尾。
// (比如 `useUserStore`，`useCartStore`，`useProductStore`)
// 第一个参数是你的应用中 Store 的唯一 ID。
const useBusinessStore = defineStore('business', {
    state: () => ({ 
        business: {
            id: 0,
            mobile: "",
            nickname: "",
            password: "",
            avatar: "",
            gender: "0",
            sourceid: 0,
            deal: "0",
            openid: null,
            province: "",
            city: "",
            district: "",
            createtime: 0,
            money: "0",
            email: "",
            auth: "0",
            poster: "",
            parentid: '0',
            gender_text: "保密",
            mobile_text: "",
            avatar_text: "",
            poster_text: "",
            deal_text: "未成交",
            auth_text: "未认证",
            region_text: "",
            province_text: "",
            city_text: "",
            district_text: "",
            createtime_text: ""
          },
    }),
    // persist: {
    //     enabled: true,//开启数据持久化
    //     key: 'shop',
    //     storage: localStorage,
    //     // paths: ['save.me', 'saveMeToo'],
    //     // serializer: {
    //     //     serialize: (state) => JSON.stringify(state),
    //     //     deserialize: (data) => JSON.parse(data),
    //     // },
    //     // beforeRestore: (context) => {
    //     //     // 在恢复数据之前执行操作
    //     // },
    //     // afterRestore: (context) => {
    //     //     // 在恢复数据之后执行操作
    //     // },
    //     // debug: true,
    // },
  })

export default {
    install(app)
    {
        //提取store数据是一个ref定义响应式
        const store = useBusinessStore()
        const {business} = storeToRefs(store)

        //挂载到全局中
        app.config.globalProperties.$business = business
        app.config.globalProperties.$store = store
    }
}